package com.anosine.gpsl.android.presenter;

import com.anosine.gpsl.android.ui.RegisterView;
import com.lidroid.xutils.util.LogUtils;
import com.anosine.gpsl.android.dao.RegisterDao;
import com.anosine.gpsl.android.entity.Login;
import com.anosine.gpsl.android.impl.RegisterDaoImpl;
import com.anosine.gpsl.android.presenter.BasePresenterActivity.OnLoadListener;

/**
 * @Title: RegisterPresenter
 * @Package com.anosine.gpsl.android.presenter
 * @Description: 接收impl传递过来的JSON语句后的数据，并且改为实体后放入View的方法中传递给View
 * @author: sunny
 * @date: 2015-11-19
 * @version V1.0
 */
public class RegisterPresenter extends BasePresenterActivity implements OnLoadListener {
	private RegisterDao dao;
	private RegisterView view;

	/**
	 * @Title: RegisterPresenter(RegisterView view)
	 * @Description: 构造方法，初始化
	 * @param: view
	 * @throws
	 */

	public RegisterPresenter(RegisterView view) {
		super();
		this.dao = new RegisterDaoImpl(this);
		this.view = view;

	}

	/**
	 * @title loadRegister(String username, String userpass, String carNo,
			String realname, String idno, String phoneCardNo) 
	 * @Description: 接受网页传过来的注册信息的抽象方法
	 * @param username 用户名
	 * @param userpass 密码
	 * @param realname 真实姓名
	 * @param idno 身份证后8位
	 * @param carNo 设备序列号
	 * @param deviceno 设备号
	 * @param phoneCardNo 手机sim
	 * @return 无
	 */
	public void loadRegister(String username, String userpass, String carNo,
			String realname, String idno, String phoneCardNo) {
		dao.getRegister(username, userpass, carNo, realname, idno, phoneCardNo);
	}

	/**
	 * @Title: onLoadStart()
	 * @Description: 重写加载开始方法
	 * @param: 无
	 * @return: 无
	 * @throws
	 */

	@Override
	public void onLoadStart() {
		LogUtils.d("获取注册信息加载中。。");
	}

	/**
	 * @Title: onFailure()
	 * @Description: 重写加载失败方法
	 * @param: 无
	 * @return: 无
	 * @throws
	 */

	@Override
	public void onFailure() {
		LogUtils.d("获取注册信息加载失败。。");
	}

	/**
	 * @Title: onSuccess(Object obj)
	 * @Description: 重写加载成功方法
	 * @param: Object obj
	 * @return: 无
	 * @throws
	 */
	@Override
	public void onSuccess(Object obj) {
		Login res = (Login) obj;
		loadRegisterSuccess(res);
	}

	/**
	 * @Title: loadRegisterSuccess(Login res)
	 * @Description: 将传递过来的JSON语句解析后的数据改为实体后放入RegisterView的方法中传递给View
	 * @param: Login res
	 * @return: 无
	 * @throws
	 */

	private void loadRegisterSuccess(Login res) {
		this.view.setRegister(res);
	}

}
